package java_0391_single;

/**
 * 单例模式
 * 饿汉式
 */
public class SingleTon01 {
    public static void main(String[] args) {
        Friend friend = Friend.getInstance();
        System.out.println(friend);

        //虽然获取了两次，但这两个指向的是同一个对象
        Friend friend2 = Friend.getInstance();
        System.out.println(friend2);

    }
}
class Friend{
    private String name;
    //为了能够在静态方法中返回friend对象，需要将其修饰为static
    private static Friend friend = new Friend("小明");
    private Friend(String name){
        this.name = name;
    }
    //由于外部不能新建实例，则不能使用类中的成员方法，所以这里只能使用静态方法
    public static Friend getInstance(){
        return friend;
    }

    @Override
    public String toString() {
        return super.toString();
    }
}